package com.itcam.socket_;

import java.io.*;
import java.net.Socket;

/**
 * Author:Cammy.Wu
 * Date:2024-05-15
 * Description:双向通信————客户端
 */

public class ClientDemo02 {
    public static void main(String[] args) throws IOException {
        // 1.创建套接字：指定服务器的ip和端口号
        Socket socket = new Socket("192.168.1.12", 8888);
        // 2.对程序员来说，向外发送数据 --》 利用输出流
        OutputStream outputStream = socket.getOutputStream();
        DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
        // 利用outputStream就可以向外发送数据了，但是没有直接发送String的方法
        // 所以在outputStream外套一个处理流dataOutputStream
        dataOutputStream.writeUTF("Hello Server");

        // 接受服务器的绘画 --》 利用输入流
        InputStream inputStream = socket.getInputStream();
        DataInputStream dataInputStream = new DataInputStream(inputStream);
        String str=dataInputStream.readUTF();
        System.out.println("服务器对我说："+str);

        // 3.关闭流
        dataInputStream.close();
        inputStream.close();
        dataOutputStream.close();
        outputStream.close();
        socket.close();
    }
}
